Databases are used to hold and arrange vast amounts of information. This information may be analyzed and manipulated to provide insights, patterns, and predictions regarding the data in the database. For example, in many business and commercial fields companies attempt to leverage the information they have about their customer base in order to increase sales or business to those customers. This information may include databases of different attributes for each customer, e.g. full name, address, gender, age, hobbies, interests, and buying patterns. Data mining or machine learning may be used to extract derivative information from databases. Data mining or machine learning includes the analysis of large quantities of data to extract previously unknown interesting patterns or dependencies within the data. These analytical approaches may also be useful in filling in gaps of data within the database or predicting additional data points.
Databases are usually stored on one or more computing devices, such as servers. Users access and interact with databases using a database query language, such as SQL. Database query languages allow users to read data from the database and write data to the database, as well as perform certain functions on the data. Simple data analysis may be accomplished using query languages known in the art. However, it is difficult to use known query languages to accomplish more complex analytical tasks such as data mining. For example, a user first has to develop a model that accomplishes the data mining operation, train the model, and then apply the model to the data set. Users may have to write long query language scripts in order to accomplish data mining tasks. This requires a lot of time as well as in-depth knowledge of data mining analytical processes and query languages. Thus, there exists a need in the art to develop a simpler way for users to interface with databases to perform data mining operations.